// 标签页配置
export interface TabItem {
  label: string
  value: string | number
  icon?: string
  disabled?: boolean
  closable?: boolean
  lazy?: boolean
}

// 标签页配置选项
export interface TabsOptions {
  items: TabItem[]
  type?: 'line' | 'card' | 'border-card'
  tabPosition?: 'top' | 'right' | 'bottom' | 'left'
  stretch?: boolean
  closable?: boolean
  addable?: boolean
  editable?: boolean
  beforeLeave?: (activeName: string | number, oldActiveName: string | number) => boolean | Promise<boolean>
  lazy?: boolean
}

// 标签页事件
export interface TabsEvents {
  'update:modelValue': (value: string | number) => void
  'tab-click': (tab: TabItem) => void
  'tab-remove': (tab: TabItem) => void
  'tab-add': () => void
  'edit': (tabName: string | number, action: 'remove' | 'add') => void
} 